#ifndef B2D_WINDOW_H
#define B2D_WINDOW_H

#include "Prerequisites.h"

#if B2D_PLATFORM == B2D_PLATFORM_WIN32
#include "Win32/Win32Window.h"
#endif

NS_B2D_BEGIN

#if B2D_PLATFORM == B2D_PLATFORM_WIN32
typedef Win32Window _Window;
#endif

// The following declaration simply forces the platform specific window to implement
// the required constructors to compile. It also allows forward-declaring Window which
// isn't possible otherwise. Perhaps a better way?

////////////////////////////////////////////////////////////////////////////////////////////////////
/// \brief	Window class.
////////////////////////////////////////////////////////////////////////////////////////////////////
class B2D_API Window final
	: public _Window 
{
public:
	Window(const WindowOptions& opts) : _Window(opts) { }
	Window(WindowHandle externalHandle) : _Window(externalHandle) { }
};

NS_B2D_END

#endif